package com.py.credit.entity.enums;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;

import com.py.credit.entity.common.OptionalColumn;

public enum MulQureryEnum {
	sqr_str("sqr_str", "服务客户名称", "varchar", "input", true, true, new HashMap<String, String>(), true,
			true),sqr_bm("sqr_bm", "统一社会信用代码", "varchar", "input", true, true, new HashMap<String, String>(), true,
					true),bgbh("bgbh", " 报告编号", "varchar", "input", true, true, new HashMap<String, String>(), true,
							true),sqsj("sqsj", "申请时间", "timestamp", "input", true, true, new HashMap<String, String>(), true,
									false),reportType("reportType", "评价模型", "varchar", "input", true, true, new HashMap<String, String>(), true,true), shzt("shzt", "评价状态",
									"varchar", "select", true, true,
									new HashMap<String, String>(){
								private static final long serialVersionUID = 1L;
								{
									put("00", "自动出分");
									put("0", "用户未提交");
									put("1", "待初审");
									put("2", "待复审");
									put("3", "待评价");
									put("4", "待终审");
									put("5", "已生成报告");
									put("6", "已领取报告");
								}
						
					}, true, true);

private String colNameEN;
private String colNameCN;
private String type;
private boolean defaultShow;
private boolean searchIsShow;
private String widget;
private boolean fuzzy;
private HashMap<String, String> widgetValue;
private boolean advanceConditionShow;

private MulQureryEnum(String colNameEN, String colNameCN, String type, String widget, boolean defaultShow,
	boolean fuzzy, HashMap<String, String> widgetValue, boolean advanceConditionShow, boolean searchIsShow) {
this.colNameEN = colNameEN;
this.colNameCN = colNameCN;
this.type = type;
this.widget = widget;
this.defaultShow = defaultShow;
this.fuzzy = fuzzy;
this.widgetValue = widgetValue;
this.advanceConditionShow = advanceConditionShow;
this.searchIsShow = searchIsShow;
}

public String getColNameEN() {
return colNameEN;
}

public void setColNameEN(String colNameEN) {
this.colNameEN = colNameEN;
}

public String getColNameCN() {
return colNameCN;
}

public void setColNameCN(String colNameCN) {
this.colNameCN = colNameCN;
}

public String getType() {
return type;
}

public void setType(String type) {
this.type = type;
}

public boolean isDefaultShow() {
return defaultShow;
}

public void setDefaultShow(boolean defaultShow) {
this.defaultShow = defaultShow;
}

public HashMap<String, String> getWidgetValue() {
return widgetValue;
}

public void setWidgetValue(HashMap<String, String> widgetValue) {
this.widgetValue = widgetValue;
}

public String getWidget() {
return widget;
}

public void setWidget(String widget) {
this.widget = widget;
}

public boolean isFuzzy() {
return fuzzy;
}

public void setFuzzy(boolean fuzzy) {
this.fuzzy = fuzzy;
}

public boolean isAdvanceConditionShow() {
return advanceConditionShow;
}

public void setAdvanceConditionShow(boolean advanceConditionShow) {
this.advanceConditionShow = advanceConditionShow;
}

public boolean isSearchIsShow() {
return searchIsShow;
}

public void setSearchIsShow(boolean searchIsShow) {
this.searchIsShow = searchIsShow;
}

public static List<OptionalColumn> getOptionalColumns() {

	List<OptionalColumn> OptionalColumns = new ArrayList<OptionalColumn>();
	MulQureryEnum[] values = MulQureryEnum.values();
	for (MulQureryEnum value : values) {
		if(value.isDefaultShow()) {
			OptionalColumn optionalColumn = new OptionalColumn(value.getColNameEN(), value.getColNameCN(),
					value.getType(), value.isDefaultShow(), value.getWidget(), value.isFuzzy(), value.getWidgetValue(),
					value.isSearchIsShow());
			OptionalColumns.add(optionalColumn);	
		}
	}
	return OptionalColumns;
}

public static List<String> getDefaultShowColumnEN() {
	List<String> columns = new ArrayList<String>();
	MulQureryEnum[] values = MulQureryEnum.values();
	for (MulQureryEnum value : values) {
		if (value.isDefaultShow()) {
			columns.add(value.getColNameEN());
		}
	}
	return columns;
}

public static List<OptionalColumn> getAdvancedConditionColumns() {
	List<OptionalColumn> OptionalColumns = new ArrayList<OptionalColumn>();
	MulQureryEnum[] values = MulQureryEnum.values();
	for (MulQureryEnum value : values) {
		if (value.isAdvanceConditionShow()) {
			OptionalColumn optionalColumn = new OptionalColumn(value.getColNameEN(), value.getColNameCN(),
					value.getType(), value.isDefaultShow(), value.getWidget(), value.isFuzzy(),
					value.getWidgetValue(), value.isSearchIsShow());
			OptionalColumns.add(optionalColumn);
		}
	}
	return OptionalColumns;
}

}
